package demo05;

import java.io.FileNotFoundException;
import java.io.PrintStream;

public class Demo01PrintStream {
    public static void main(String[] args) {
        System.out.println("打印到控制台！"); // 结果输出到控制台
        /*
         *  out就是一个PrintStream打印流对象
         *  该方法其实就是调用System类下的out打印流变量的println方法，也就是调用了PrintStream打印流的方法
         */

        // 打印流虽然不会抛出IO异常，但会抛出FileNotFoundException文件未找到异常，所以还是需要捕获处理
        try (PrintStream printStream = new PrintStream("file\\print.txt")) {
            // 打印流可以输出任何类型
            printStream.println(1);
            printStream.println(8.8);
            printStream.println('a');
            printStream.println(true);
            printStream.println("土宝土宝");

            // 打印流会按照给出的数据原封不动地输出
            printStream.println(97); // 97，使用println()方法，写入的数据按原样输出
            printStream.write(97); // a，使用write()方法，在查看数据时会先查询编码表

            // 改变系统打印流的输出路径
            System.setOut(printStream);
            System.out.println();
            System.out.println("打印到文件！"); // 结果输出到文件
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}
